package com.jwsoft.manager.common.vo.eduTalentPool.eduTalentPool;

import com.bifang.assistant.common.vo.BaseVO;
import com.bifang.assistant.common.constants.Validators;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 人才库信息 查询对象
*
* @author chenzh 845078693@qq.com
* @since 1.0.0 2025-05-07
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "人才库信息VO实体")
public class EduTalentPoolVO extends BaseVO {
    @Schema(name = "talentId", description = "主键")
    private Long talentId;

    @Schema(name = "year", description = "招生年度")
    @NotNull(groups = {Validators.Edit.class,Validators.Add.class},message = "招生年度不能为空")
    private Integer year;

    @Schema(name = "talentFullName", description = "人才姓名")
    @NotBlank(groups = {Validators.Edit.class,Validators.Add.class},message = "人才姓名不能为空")
    @Size(max = 200, message = "人才姓名长度不能超过 {value} 个字符")
    private String talentFullName;

    @Schema(name = "talentCardType", description = "人才证件类型")
    @NotBlank(groups = {Validators.Edit.class,Validators.Add.class},message = "人才证件类型不能为空")
    @Size(max = 10, message = "人才证件类型长度不能超过 {value} 个字符")
    private String talentCardType;
    @Schema(name = "talentCardTypeName", description = "人才证件类型中文")
    private String talentCardTypeName;

    @Schema(name = "talentIdcard", description = "人才证件号码")
    @NotBlank(groups = {Validators.Edit.class,Validators.Add.class},message = "人才证件号码不能为空")
    @Size(max = 20, message = "人才证件号码长度不能超过 {value} 个字符")
    private String talentIdcard;

    @Schema(name = "talentLevel", description = "人才等级")
    @Size(max = 20, message = "人才等级长度不能超过 {value} 个字符")
    private String talentLevel;

    @Schema(name = "talentLevelName", description = "人才等级")
    @Size(max = 255, message = "人才等级长度不能超过 {value} 个字符")
    private String talentLevelName;

    @Schema(name = "areaCode", description = "所属行政区划")
    @Size(max = 6, message = "所属行政区划长度不能超过 {value} 个字符")
    private String areaCode;
    @Schema(name = "areaCodeName", description = "所属行政区划中文")
    private String areaCodeName;
    @Schema(name = "areaName", description = "行政区划名称")
    private String areaName;

    @Schema(name = "dataSource", description = "数据来源")
    @Size(max = 1, message = "数据来源长度不能超过 {value} 个字符")
    private String dataSource;
    @Schema(name = "dataSourceName", description = "数据来源中文")
    private String dataSourceName;

    @Schema(name = "createTime", description = "创建时间")
    private Date createTime;


    @Schema(name = "updateTime", description = "更新时间")
    private Date updateTime;


    @Schema(name = "impErrorMsg", description = "导入错误信息")
    private String impErrorMsg;

    @Schema(name = "workUnit", description = "工作单位")
    private String workUnit;

    @Schema(name = "unifiedCode", description = "统一信用社会代码")
    private String unifiedCode;
}
